/*
 * 实时任务头文件，实时任务采用单链表方式实现
 */

#ifndef UPTASKRT_H
#define UPTASKRT_H

#include	"usbctrl.h"
#include	"upcmd.h"

struct uptaskr{
  u_int16_t		front;		/* 队首 */
  u_int16_t		rear;		/* 队尾 */
  u_int16_t		nfree;		/* 剩余任务空间数 */
  struct upcmd	utr_upcmds[MAXCLIENTS]; /* 任务队列 */
};


/* 初始化实时任务数据 */
int initutr();

/* 添加实时任务 */
int addutr(const struct upcmd);

/* 取出实时任务 */
int getutr(struct upcmd *);

/* 关闭实时任务队列 */
void closeutr();

#endif
